/**
 * RSAUtil工具类
 */

var RSAUtils = {};
/**
 * 加密算法RSA
 */
RSAUtils.KEY_ALGORITHM = "RSA";
/**
 * 签名算法
 */
RSAUtils.SIGNATURE_ALGORITHM = "SHA256withRSA";
/**
 * 获取公钥的key
 */
RSAUtils.PUBLIC_KEY = "RSAPublicKey";
/**
 * 获取私钥的key
 */
RSAUtils.PRIVATE_KEY = "RSAPrivateKey";
/**
 * RSA最大加密明文大小
 */
RSAUtils.MAX_ENCRYPT_BLOCK = 117;
/**
 * RSA最大解密密文大小
 */
RSAUtils.MAX_DECRYPT_BLOCK = 128;

/**
 * 生成密钥对(公钥和私钥)
 *
 * @return
 * @throws Exception
 */
function generatorKeyPair(){

}

/**
 * 用私钥对信息生成数字签名
 *
 * @param data 已加密数据
 * @param privateKey 私钥(BASE64编码)
 *
 * @return
 * @throws Exception
 */
function sign(data,privateKey){

}

/**
 * 校验数字签名
 *
 * @param data 已加密数据
 * @param publicKey 公钥(BASE64编码)
 * @param sign 数字签名
 *
 * @return
 * @throws Exception
 *
 */
function verify(data,publicKey,sign) {

}

/**
 * 私钥解密
 *
 * @param encryptedData 已加密数据
 * @param privateKey 私钥(BASE64编码)
 * @return
 * @throws Exception
 */
function decryptByPrivateKey(encryptedData,privateKey) {

}

/**
 * 公钥解密
 *
 * @param encryptedData 已加密数据
 * @param publicKey 公钥(BASE64编码)
 * @return
 * @throws Exception
 */
function decryptByPublicKey(encryptedData,publicKey) {

}

/**
 * 公钥加密
 *
 * @param data 源数据
 * @param publicKey 公钥(BASE64编码)
 * @return
 * @throws Exception
 */
function encryptByPublicKey(data,publicKey) {

}

/**
 * 私钥加密
 *
 * @param data 源数据
 * @param privateKey 私钥(BASE64编码)
 * @return
 * @throws Exception
 */
function encryptByPrivateKey(data,privateKey) {
    
}

/**
 * 获取私钥
 *
 * @param keyMap 密钥对
 * @return
 * @throws Exception
 */
function getPrivateKey(keyMap) {

}

/**
 * 获取公钥
 *
 * @param keyMap 密钥对
 * @return
 * @throws Exception
 */
function getPublicKey(keyMap) {

}







